﻿#pragma once

#include "CmdHandler3.h"
#include "Arc2D.h"

class Scene;
class CDblPoint;

class Circle2DHandler : public CmdHandler3
{
	Q_OBJECT
public:
	Q_INVOKABLE Circle2DHandler();
	~Circle2DHandler();

	virtual void input(const QVariant& data, const QString& rawInput, CommandSource cs) override;
	void drawFinished(Scene * scene);
private:
	std::shared_ptr<Arc2D> m_cir;
	osg::Vec3d m_startPt;
	osg::Vec3d m_secondPt;
	osg::Vec3d m_endPt;
	osg::Vec3d m_centerPt;
	std::vector<std::shared_ptr<Ent>> m_constraints;
};
